#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <gtk/gtk.h>

#include "callbacks.h"
#include "interface.h"
#include "support.h"

#include "sae/gestion_magasin.h"
#include "sae/gestion_personnels.h"
#include "sae/personnel.h"
#include "sae/patient.h"
#include "sae/alertes.h"

#include "string.h"

#define NMAX 100

void
on_btn_creer_clicked                   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
char pp[10];
	char pa[20];
	char msg[30];

	GtkWidget *entry_passeport;
	GtkWidget *entry_motdepasse;
	GtkWidget *label_msg;

	entry_passeport=lookup_widget(fenetre,"e_passeport");
	entry_motdepasse=lookup_widget(fenetre,"e_pass");
	label_msg = lookup_widget(fenetre,"cree_msg");

	strcpy(pp,gtk_entry_get_text(GTK_ENTRY(entry_passeport)));
	strcpy(pa,gtk_entry_get_text(GTK_ENTRY(entry_motdepasse)));

	creer_compte_admin_gtk(pp, pa, msg);
	gtk_label_set_text(GTK_LABEL(label_msg),msg);

	GtkWidget *menu_precedent;
  	GtkWidget *fe;
  	menu_precedent = create_menu_admin ();
  	gtk_widget_show (menu_precedent);
	fe = lookup_widget(fenetre,"creation_compte");
	gtk_widget_destroy(fe);
}


void
on_btn_connect_clicked                 (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
char pp[10];
	char pa[20];
	char msg[30];

	GtkWidget *entry_passeport;
	GtkWidget *entry_motdepasse;
	GtkWidget *label_msg;

	int n_personnels;
	personnel_db personnel[NMAX];

	entry_passeport=lookup_widget(fenetre,"e_passeport_login");
	entry_motdepasse=lookup_widget(fenetre,"e_pass_login");
	label_msg = lookup_widget(fenetre,"msg_authen");

	strcpy(pp,gtk_entry_get_text(GTK_ENTRY(entry_passeport)));
	strcpy(pa,gtk_entry_get_text(GTK_ENTRY(entry_motdepasse)));
	extraire_personnels(personnel,&n_personnels);
	int admin;
	admin = login_gtk(personnel, n_personnels,pp,pa, msg);
	gtk_label_set_text(GTK_LABEL(label_msg),msg);
	if (admin!=0)
	{
		GtkWidget *menu_precedent;
  		GtkWidget *fe;
  		menu_precedent = create_menu_admin ();
  		gtk_widget_show (menu_precedent);
	  fe = lookup_widget(fenetre,"login");
	  gtk_widget_destroy(fe);
	}


}


void
supprimer_un_capteur                   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  
}


void
ajouter_un_capteur                     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
afficher_liste_capteur                 (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
modifier_un_capteur                    (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
on_init_capteur_btn_clicked            (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}




void
ajouter_un_patient                     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
supprimer_un_patient                   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
modifier_un_patient                    (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
afficher_liste_patient                 (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
init_liste_patient                     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
on_btn_retour_perso_clicked            (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_personnel ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"ajout_personnel");
  gtk_widget_destroy(fe);

}




void
on_btn_retour_capteur_clicked          (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_capteur ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"modifier_capteur");
  gtk_widget_destroy(fe);
}


void
on_btn_retour_produit_clicked          (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
// example_retour
  GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_magasin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"ajout_produit");
  gtk_widget_destroy(fe);

}


void
retour_suppression_personnel           (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_personnel ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"supprimer_personnel");
  gtk_widget_destroy(fe);
}




void
retour_supprimer_capteur               (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_capteur ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"supprimer_capteur");
  gtk_widget_destroy(fe);

}



void
on_btn_retour_supp_produit_clicked     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_magasin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"supprimer_produit");
  gtk_widget_destroy(fe);

}



void
retour_init_personnels                 (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_personnel ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"init_personnel");
  gtk_widget_destroy(fe);
}


void
retour_init_capteur                    (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_capteur ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"init_capteur");
  gtk_widget_destroy(fe);
}


void
retour_init_produit                    (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_magasin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"init_produit");
  gtk_widget_destroy(fe);

}



void
retour_init_patient                    (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_patient ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"init_patient");
  gtk_widget_destroy(fe);

}




void
retour_afficher_personnel              (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_personnel ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"afficher_personnel");
  gtk_widget_destroy(fe);
}



void
retour_afficher_produit                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_magasin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"afficher_produit");
  gtk_widget_destroy(fe);
}


void
retour_afficher_patient                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_patient ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"afficher_patient");
  gtk_widget_destroy(fe);
}




void
retour_info_capteur                    (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_capteur ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"afficher_capteur");
  gtk_widget_destroy(fe);

}


void
recherche_modifier_personnel           (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
on_btn_modifier_perso_clicked          (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
recherche_ajouter_capteur              (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
on_btn_modifier_produit                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
on_modifier_produit_btn_retour_clicked (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

  GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_magasin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"modifier_produit");
  gtk_widget_destroy(fe);

}




void
on_modifier_patient_btn_retourn_clicked
                                        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{


GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_patient ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"modifier_patient");
  gtk_widget_destroy(fe);
}


void
modifier_mdp_admin                     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_modification_mot_de_passe_admin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"modifier_selection_admin");
  gtk_widget_destroy(fe);
}


void
modifier_mdp_personnel                 (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_modification_mot_de_passe_perso ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"modifier_selection_admin");
  gtk_widget_destroy(fe);
}


void
on_button159_clicked                   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
retour_mdf_mdp_admin                   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
mdf_mdf_mdp_admin                      (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
recherche_modifier_mdp_personnel       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
retour_mdf_mdp_personnel               (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
modifier_modifier_mdp_personnel        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


void
ok_apropos                             (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"apropos");
  gtk_widget_destroy(fe);
}



void
on_retour_alertes_clicked              (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"alertes");
  gtk_widget_destroy(fe);
}


void
on_perso_retour_principale_clicked     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"gestion_personnel");
  gtk_widget_destroy(fe);
}


void
on_parcours_retour_principale_clicked  (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"gestion_capteur");
  gtk_widget_destroy(fe);
}



void
on_patient_retour_auth_clicked         (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"modifier_selection_admin");
  gtk_widget_destroy(fe);
}


/*------------------------------------BEGIN Fenetre Menu Principale-------------------------------*/

void
on_menu_alertes_clicked                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *alertes;
  GtkWidget *fenetre_menu;

  alertes = create_alertes ();
  gtk_widget_show (alertes);

  fenetre_menu = lookup_widget(fenetre,"menu_admin");
  gtk_widget_destroy(fenetre_menu);

}


void
on_menu_patient_clicked                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *gestion_patient;
  GtkWidget *fenetre_menu;

  gestion_patient = create_gestion_patient ();
  gtk_widget_show (gestion_patient);

  fenetre_menu = lookup_widget(fenetre,"menu_admin");
  gtk_widget_destroy(fenetre_menu);

}


void
on_menu_personnels_clicked             (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *gestion_personnel;
  GtkWidget *fenetre_menu;

  gestion_personnel = create_gestion_personnel ();
  gtk_widget_show (gestion_personnel);

  fenetre_menu = lookup_widget(fenetre,"menu_admin");
  gtk_widget_destroy(fenetre_menu);

}


void
on_menu_magasin_clicked                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *gestion_magasin;
  GtkWidget *fenetre_menu;

  gestion_magasin = create_gestion_magasin ();
  gtk_widget_show (gestion_magasin);

  fenetre_menu = lookup_widget(fenetre,"menu_admin");
  gtk_widget_destroy(fenetre_menu);

}


void
on_menu_parcours_clicked               (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
        GtkWidget *gestion_capteur;
        GtkWidget *fenetre_menu;

	gestion_capteur = create_gestion_capteur ();
	gtk_widget_show (gestion_capteur);

        fenetre_menu = lookup_widget(fenetre,"menu_admin");
        gtk_widget_destroy(fenetre_menu);

}


void
on_menu_auth_clicked                   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *modifier_selection_admin;
	GtkWidget *fenetre_menu;
	
	modifier_selection_admin = create_modifier_selection_admin ();
    gtk_widget_show (modifier_selection_admin);

	fenetre_menu = lookup_widget(fenetre,"menu_admin");
	gtk_widget_destroy(fenetre_menu);

}


void
on_menu_apropos_clicked                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *apropos;
	GtkWidget *fenetre_menu;
	
	apropos = create_apropos ();
	gtk_widget_show (apropos);

	fenetre_menu = lookup_widget(fenetre,"menu_admin");
	gtk_widget_destroy(fenetre_menu);
}


void
on_quitter_menu_clicked                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *fenetre_menu;
	fenetre_menu = lookup_widget(fenetre,"menu_admin");
	gtk_widget_destroy(fenetre_menu);
}

/*------------------------------------END Fenetre Menu Principale-------------------------------*/


/*------------------------------------BEGIN Fenetre Gestion Magasin-------------------------------*/
void
on_btn_ajout_produit_clicked           (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *ajout_produit;
  GtkWidget *fe;

  ajout_produit = create_ajout_produit ();
  gtk_widget_show (ajout_produit);

  fe = lookup_widget(fenetre,"gestion_magasin");
  gtk_widget_destroy(fe);
}
void
on_btn_supprimer_produit_clicked       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *supprimer_produit;
  GtkWidget *fe;

  supprimer_produit = create_supprimer_produit ();
  gtk_widget_show (supprimer_produit);

  fe = lookup_widget(fenetre,"gestion_magasin");
  gtk_widget_destroy(fe);

}
void
on_btn_modifier_produit_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *modifier_produit;
  GtkWidget *fe;

  modifier_produit = create_modifier_produit ();
  gtk_widget_show (modifier_produit);

  fe = lookup_widget(fenetre,"gestion_magasin");
  gtk_widget_destroy(fe);

}
void
on_btn_afficher_produit_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *afficher_produit;
  GtkWidget *fe;

  afficher_produit = create_afficher_produit ();
  gtk_widget_show (afficher_produit);

  fe = lookup_widget(fenetre,"gestion_magasin");
  gtk_widget_destroy(fe);

}
void
on_btn_init_produit_clicked            (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *init_produit;
  GtkWidget *fe;

  init_produit = create_init_produit ();
  gtk_widget_show (init_produit);

  fe = lookup_widget(fenetre,"gestion_magasin");
  gtk_widget_destroy(fe);
}
void
on_magasin_retour_principale_clicked   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"gestion_magasin");
  gtk_widget_destroy(fe);
}
/*------------------------------------END Fenetre Gestion Magasin-------------------------------*/

/*------------------------------------BEGIN Fenetre Gestion Personnel-------------------------------*/
void
on_btn_ajout_personnel_clicked           (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *ajout_personnel;
  GtkWidget *fe;

  ajout_personnel = create_ajout_personnel ();
  gtk_widget_show (ajout_personnel);

  fe = lookup_widget(fenetre,"gestion_personnel");
  gtk_widget_destroy(fe);
}
void
on_btn_supprimer_personnel_clicked       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *supprimer_personnel;
  GtkWidget *fe;

  supprimer_personnel = create_supprimer_personnel ();
  gtk_widget_show (supprimer_personnel);

  fe = lookup_widget(fenetre,"gestion_personnel");
  gtk_widget_destroy(fe);

}
void
on_btn_modifier_personnel_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *modifier_personnel;
  GtkWidget *fe;

  modifier_personnel = create_modifier_personnel ();
  gtk_widget_show (modifier_personnel);

  fe = lookup_widget(fenetre,"gestion_personnel");
  gtk_widget_destroy(fe);

}
void
on_btn_afficher_personnel_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *afficher_personnel;
  GtkWidget *fe;

  afficher_personnel = create_afficher_personnel ();
  gtk_widget_show (afficher_personnel);

  fe = lookup_widget(fenetre,"gestion_personnel");
  gtk_widget_destroy(fe);

}
void
on_btn_init_personnel_clicked            (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *init_personnel;
  GtkWidget *fe;

  init_personnel = create_init_personnel ();
  gtk_widget_show (init_personnel);

  fe = lookup_widget(fenetre,"gestion_personnel");
  gtk_widget_destroy(fe);
}
void
on_personnel_retour_principale_clicked   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"gestion_personnel");
  gtk_widget_destroy(fe);
}
/*------------------------------------END Fenetre Gestion personnel-------------------------------*/

/*------------------------------------BEGIN Gestion Personnel-------------------------------*/
void
on_btn_ajouter_perso_clicked           (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id_personnel;
	GtkWidget *entry_nom_personnel;
	GtkWidget *entry_prenom_personnel;
	GtkWidget *entry_sexe_personnel;
	GtkWidget *entry_age_personnel;
	GtkWidget *entry_numpass_personnel;
	GtkWidget *entry_numtel_personnel;
	GtkWidget *entry_specialite_personnel;
	GtkWidget *entry_jour_personnel;
	GtkWidget *entry_mois_personnel;
	GtkWidget *entry_annee_personnel;
	GtkWidget *entry_mdp_personnel;
	GtkWidget *label_msg;
	GtkWidget *entry_natio_personnel;

	entry_id_personnel=lookup_widget(fenetre,"entry_id_personnel");
	entry_nom_personnel=lookup_widget(fenetre,"entry_nom_personnel");
	entry_prenom_personnel=lookup_widget(fenetre,"entry_prenom_personnel");
	entry_sexe_personnel=lookup_widget(fenetre,"entry_sexe_personnel");
	entry_age_personnel=lookup_widget(fenetre,"entry_age_personnel");
	entry_mdp_personnel=lookup_widget(fenetre,"entry_numpass_personnel");
	entry_numtel_personnel=lookup_widget(fenetre,"entry_numtel_personnel");
	entry_specialite_personnel=lookup_widget(fenetre,"entry_specialite_personnel");
	entry_jour_personnel=lookup_widget(fenetre,"entry_jour_personnel");
	entry_mois_personnel=lookup_widget(fenetre,"entry_mois_personnel");
	entry_annee_personnel=lookup_widget(fenetre,"entry_annee_personnel");
	entry_mdp_personnel=lookup_widget(fenetre,"entry_mdp_personnel");
	entry_natio_personnel=lookup_widget(fenetre,"entry_natio_personnel");
	label_msg = lookup_widget(fenetre,"msg_ajout_perso");

	personnel_db personnel[NMAX];
	int nombre_des_personnels = 0;

	personnel_db p;
	int id_per;
	char pas_per [10];
	char nom_per[30];
	char prenom_per[30];

	id_per=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id_personnel)));
	strcpy(pas_per,gtk_entry_get_text(GTK_ENTRY(entry_numpass_personnel)));
	strcpy(nom_per,gtk_entry_get_text(GTK_ENTRY(entry_nom_personnel)));
	strcpy(prenom_per,gtk_entry_get_text(GTK_ENTRY(entry_prenom_personnel)));

	p.id=id_per;
	strcpy(p.mot_de_passe,pas_per);
	strcpy(p.nom,nom_per);
	strcpy(p.prenom,prenom_per);
	
	extraire_personnels(personnel,&nombre_des_personnels);
	ajouter_personnel_gtk(personnel,p,&nombre_des_personnels);
	exporter_personnels(personnel,nombre_des_personnels);
	gtk_label_set_text(GTK_LABEL(label_msg),"Personnel ajoute");

}


void
afficher_info_personnel                (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *ma_liste;
	GtkWidget *nb_personnel;
	ma_liste = lookup_widget(fenetre,"liste_des_personnels");
	nb_personnel = lookup_widget(fenetre,"label_nombre_personnel");
	
	
	personnel_db p[NMAX];
	int i;
	int nombre_des_personnels=0;
	
	char a[20];
	char nb_personnel_[5];

	
	extraire_personnels( p,&nombre_des_personnels);
	
	gtk_clist_clear(GTK_CLIST(ma_liste));
	

	// coversion d'un entier a un string
	sprintf(nb_personnel_, "%d", nombre_des_personnels);
	
	// changer la valeur du nombre des infractions
	gtk_label_set_text(GTK_LABEL(nb_personnel),nb_personnel_);
	
	
	for ( i = 0; i < nombre_des_personnels; i++)
	{
		sprintf(a, "%d", p[i].id);
		
		
		gchar *ligne_[12] = {a,p[i].nom,p[i].prenom };
		
		
		
		gtk_clist_append(GTK_CLIST(ma_liste),ligne_);
	}
	
}




void
initialiser_init_personnel             (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

// initialiser textview	
	GtkTextBuffer *buffer;
	GtkTextIter  iter;
	GtkWidget *textview;
	textview = lookup_widget(fenetre,"personnel_textview");
	buffer   = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
	gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0);
	

	personnel_db personnel[NMAX];
	int nombre_des_personnels = 0;


	extraire_personnels(personnel,&nombre_des_personnels);

	// initialisation
    int k;
		
	k = nombre_des_personnels-1;
		
	char smsg[50];

	while ( k > -1)
	{
			sprintf(smsg,"Suppression du personnel '%s %s'\n",personnel[k].nom,personnel[k].passeport);
			supprimer_personnel(personnel,personnel[k].id,&nombre_des_personnels);
			k = nombre_des_personnels - 1;
			gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	}
	strcpy(smsg,"La liste des personnels est vide\n");
	gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	remove(FICHIER_PERSONNELS);

}



void
supprimer_suppresion_personnel         (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *entry_id;
	GtkWidget *msg_label;

	entry_id=lookup_widget(fenetre,"entry_id_personnel");
	msg_label=lookup_widget(fenetre,"label_msg_supp_personnel");


	personnel_db personnel[NMAX];
	int nombre_des_personnels = 0;

	personnel_db p;
	int id_p2;
	char msg[30];

	id_p2=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));

	extraire_personnels(personnel,&nombre_des_personnels);
	supprimer_personnel_gtk ( personnel,id_p2,&nombre_des_personnels,msg);
	gtk_label_set_text(GTK_LABEL(msg_label),msg);
	exporter_personnels(personnel,nombre_des_personnels);

}

void
on_btn_modifier_perso_modifier_clicked (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

	GtkWidget *entry_id;
	GtkWidget *entry_passeport;
	GtkWidget *entry_nom;
	GtkWidget *entry_prenom;
	
	GtkWidget *msg_label;

	msg_label=lookup_widget(fenetre,"msg_label_mod_perso");
	entry_id=lookup_widget(fenetre,"entry_mod_perso_id");
	entry_passeport=lookup_widget(fenetre,"entry_mod_perso_passeport");
	entry_nom=lookup_widget(fenetre,"entry_mod_perso_nom");
	entry_prenom=lookup_widget(fenetre,"entry_mod_perso_prenom");

	personnel_db personnel[NMAX];
	int nombre_des_personnels = 0;

	personnel_db m;
	int id1;
	char passeport1[10];
	char nom1[30];
	char prenom1[30];
	char msg[50];

	id1=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));
	strcpy(passeport1,gtk_entry_get_text(GTK_ENTRY(entry_passeport)));
	strcpy(nom1,gtk_entry_get_text(GTK_ENTRY(entry_nom)));
	strcpy(prenom1,gtk_entry_get_text(GTK_ENTRY(entry_prenom)));

	m.id=id1;
	strcpy(m.passeport,passeport1);
	strcpy(m.nom,nom1);
	strcpy(m.prenom,prenom1);
	
	extraire_personnels(personnel,&nombre_des_personnels);
	modifier_personnel_gtk(personnel,m, id1, nombre_des_personnels, msg);
	
	gtk_label_set_text(GTK_LABEL(msg_label),msg);

}


void
on_btn_modifier_perso_retour_clicked   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}

/*------------------------------------END Gestion Personnel-------------------------------*/







/*-----------------------------------BEGIN Recherche Alertes---------------------------*/
// Recherche des alertes
void
on_btn_recherche_alertes_clicked       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

// definition des objects a utilisee	
	GtkWidget *maliste;
	GtkWidget *nb_infra;

	// Associer les objects avec leur nom dans la fenetre
	maliste = lookup_widget(fenetre,"liste_alertes");	
	nb_infra = lookup_widget(fenetre,"nb_infra");

	// definition des variables
	personnel_db Personnels[NMAX];
	parcours_db Parcours[NMAX];
	patient_db Patients[NMAX];
	personnel_infecte infractions[NMAX];

	int nbre_des_capteurs;
	int nbre_des_personnels;
	int nbre_des_patients;
	int nbre_des_infractions;
	
	int i;
	char nbre[10];

	// extraire les personnels et les capteurs
	extraire_personnels(Personnels, &nbre_des_personnels);
	extraire_parcours(Parcours, &nbre_des_capteurs);
	extraire_patients(Patients, &nbre_des_patients);
	
	// Associer le parcours de chaque personnel
	associer_parcours_personnels(Personnels, nbre_des_personnels);
	
	// decouvrir les personnels infectee
	decouvrir_personnel_infecte_gtk(Personnels, &nbre_des_personnels, Patients, &nbre_des_patients, Parcours, nbre_des_capteurs, infractions, &nbre_des_infractions);
	
	// effacer le contenue de la liste dans le cas ou l'utilistaeur a clicker plusieurs fois sur le button
	gtk_clist_clear(GTK_CLIST(maliste));

	// Ajout	
	for ( i = 0; i < nbre_des_infractions; i++)
	{
		printf("%s\n",infractions[i].desc);
		gchar *ligne[4] = {infractions[i].nom,infractions[i].prenom,infractions[i].capteur,infractions[i].desc};
		gtk_clist_append(GTK_CLIST(maliste),ligne);
	}
	// coversion d'un entier a un string
	sprintf(nbre, "%d", nbre_des_infractions);
	// changer la valeur du nombre des infractions
	gtk_label_set_text(GTK_LABEL(nb_infra),nbre);
}

/*-----------------------------------END Recherche Alertes---------------------------*/



/*------------------------------------BEGIN Gestion Patient-------------------------------*/

void
on_modifier_patient_btn_modifier_clicked
                                        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

	GtkWidget *entry_id;
	GtkWidget *entry_passeport;
	GtkWidget *entry_nom;
	GtkWidget *entry_prenom;
	
	GtkWidget *msg_label;

	msg_label=lookup_widget(fenetre,"msg_label_modifier_patient");
	entry_id=lookup_widget(fenetre,"entry_id_modifier_patient");
	entry_passeport=lookup_widget(fenetre,"entry_passeport_modifier_patient");
	entry_nom=lookup_widget(fenetre,"entry_nom_modifier_patient");
	entry_prenom=lookup_widget(fenetre,"entry_prenom_modifier_patient");

	patient_db patient[NMAX];
	int nombre_des_patients = 0;

	patient_db m;
	int id1;
	char passeport1[10];
	char nom1[30];
	char prenom1[30];
	char msg[50];

	id1=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));
	strcpy(passeport1,gtk_entry_get_text(GTK_ENTRY(entry_passeport)));
	strcpy(nom1,gtk_entry_get_text(GTK_ENTRY(entry_nom)));
	strcpy(prenom1,gtk_entry_get_text(GTK_ENTRY(entry_prenom)));

	m.id=id1;
	strcpy(m.passeport,passeport1);
	strcpy(m.nom,nom1);
	strcpy(m.prenom,prenom1);
	
	extraire_patients(patient,&nombre_des_patients);
	printf("====>99\n");
	modifier_patient_gtk(patient,m, id1, nombre_des_patients, msg);
	printf("====>3\n");
	gtk_label_set_text(GTK_LABEL(msg_label),msg);
	printf("====>4\n");

}


void
on_button_affiche_patient_clicked      (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *ma_liste;
	GtkWidget *nb_patient;
	ma_liste = lookup_widget(fenetre,"liste_patients");
	nb_patient = lookup_widget(fenetre,"nbre_patients");
	
	
	patient_db p[NMAX];
	int i;
	int nombre_des_patients=0;
	
	char a[20];
	char nb_patient_[5];

	
	extraire_patients( p,&nombre_des_patients);
	gtk_clist_clear(GTK_CLIST(ma_liste));
	

	// coversion d'un entier a un string
	sprintf(nb_patient_, "%d", nombre_des_patients);
	
	// changer la valeur du nombre des infractions
	gtk_label_set_text(GTK_LABEL(nb_patient),nb_patient_);
	
	
	for ( i = 0; i < nombre_des_patients; i++)
	{
		sprintf(a, "%d", p[i].id);
		
		
		//gchar *ligne_[4] = {m[i].id_p, m[i].q, m[i].type_p, m[i].nom_p};
		gchar *ligne_[4] = {a,p[i].passeport,p[i].nom,p[i].prenom };
		
		
		
		gtk_clist_append(GTK_CLIST(ma_liste),ligne_);
	}


}

void
initialiser_init_patient               (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

// initialiser textview	
	GtkTextBuffer *buffer;
	GtkTextIter  iter;
	GtkWidget *textview;
	textview = lookup_widget(fenetre,"patient_textview");
	buffer   = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
	gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0);
	

	patient_db patient[NMAX];
	int nombre_des_patients = 0;


	extraire_patients(patient,&nombre_des_patients);

	// initialisation
    int k;
		
	k = nombre_des_patients-1;
		
	char smsg[50];

	while ( k > -1)
	{
			sprintf(smsg,"Suppression du patient '%s %s'\n",patient[k].nom,patient[k].passeport);
			supprimer_patient(patient,patient[k].id,&nombre_des_patients);
			k = nombre_des_patients - 1;
			gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	}
	strcpy(smsg,"La liste des patients est vide\n");
	gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	remove(FICHIER_PATIENTS);


}





void
supprimer_suppression_patient          (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *entry_id;
	GtkWidget *msg_label;

	entry_id=lookup_widget(fenetre,"entry_id_patient");
	msg_label=lookup_widget(fenetre,"label_msg_supp_patient");


	patient_db patient[NMAX];
	int nombre_des_patients = 0;

	patient_db p;
	int id_p2;
	char msg[30];

	id_p2=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));

	extraire_patients(patient,&nombre_des_patients);
	supprimer_patient_gtk ( patient,id_p2,&nombre_des_patients,msg);
	gtk_label_set_text(GTK_LABEL(msg_label),msg);
	exporter_patients(patient,nombre_des_patients);


}





void
ajouter_ajout_patient                  (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *entry_id;
	GtkWidget *entry_passeport;
	GtkWidget *entry_nom;
	GtkWidget *entry_prenom;

	entry_id=lookup_widget(fenetre,"entry_id_patient");
	entry_passeport=lookup_widget(fenetre,"entry_pp_patient");
	entry_prenom=lookup_widget(fenetre,"entry_prenom_patient");
	entry_nom=lookup_widget(fenetre,"entry_nom_patient");

	patient_db patient[NMAX];
	int nombre_des_patients = 0;

	patient_db p;
	int id_pat;
	char pas_pat [10];
	char nom_pat[30];
	char prenom_pat[30];

	id_pat=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));
	strcpy(pas_pat,gtk_entry_get_text(GTK_ENTRY(entry_passeport)));
	strcpy(nom_pat,gtk_entry_get_text(GTK_ENTRY(entry_nom)));
	strcpy(prenom_pat,gtk_entry_get_text(GTK_ENTRY(entry_prenom)));

	p.id=id_pat;
	strcpy(p.passeport,pas_pat);
	strcpy(p.nom,nom_pat);
	strcpy(p.prenom,prenom_pat);
	
	extraire_patients(patient,&nombre_des_patients);
	ajouter_patient_gtk(patient,p,&nombre_des_patients);
	exporter_patients(patient,nombre_des_patients);

}
/*------------------------------------END Gestion Patient-------------------------------*/

/*------------------------------------BEGIN Gestion Magasin-------------------------------*/

void
on_modifier_produit_btn_modifier_clicked
                                        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id;
	GtkWidget *entry_quantite;
	GtkWidget *entry_nom;
	GtkWidget *entry_type;
	GtkWidget *msg_label;

	msg_label=lookup_widget(fenetre,"label_msg_modifier_produit");
	entry_id=lookup_widget(fenetre,"entry_id_modifier_produit");
	entry_quantite=lookup_widget(fenetre,"entry_quantite_modifier_produit");
	entry_type=lookup_widget(fenetre,"entry_type_modifier_produit");
	entry_nom=lookup_widget(fenetre,"entry_nom_modifier_produit");

	magasin_db magasin[NMAX];
	int nombre_des_produit = 0;

	magasin_db m;
	int id_p1;
	int q1;
	char nom_p1[30];
	char type_p1[30];
	char msg[50];

	id_p1=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));
	q1=atoi(gtk_entry_get_text(GTK_ENTRY(entry_quantite)));
	strcpy(nom_p1,gtk_entry_get_text(GTK_ENTRY(entry_nom)));
	strcpy(type_p1,gtk_entry_get_text(GTK_ENTRY(entry_type)));

	m.id_p=id_p1;
	m.q=q1;
	strcpy(m.nom_p,nom_p1);
	strcpy(m.type_p,type_p1);
	
	extraire_magasin(magasin,&nombre_des_produit);
	modifier_produit_gtk(magasin,m, id_p1, nombre_des_produit, msg);
	
	gtk_label_set_text(GTK_LABEL(msg_label),msg);

}



void
on_btn_afficher_produit__clicked       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *ma_liste;
	GtkWidget *nb_produit;
	ma_liste = lookup_widget(fenetre,"liste_produit");
	nb_produit = lookup_widget(fenetre,"nombre_produit");
	
	
	magasin_db m[NMAX];
	int i;
	int nombre_des_produits=0;
	char b[20];
	char a[20];
	char nb_produit_[5];

	
	extraire_magasin( m,&nombre_des_produits);
	gtk_clist_clear(GTK_CLIST(ma_liste));
	

	// coversion d'un entier a un string
	sprintf(nb_produit_, "%d", nombre_des_produits);
	
	// changer la valeur du nombre des infractions
	gtk_label_set_text(GTK_LABEL(nb_produit),nb_produit_);
	
	
	for ( i = 0; i < nombre_des_produits; i++)
	{
		sprintf(a, "%d", m[i].id_p);
		sprintf(b, "%d",  m[i].q);
		
		//gchar *ligne_[4] = {m[i].id_p, m[i].q, m[i].type_p, m[i].nom_p};
		gchar *ligne_[4] = {a,m[i].nom_p,m[i].type_p,b };
		
		
		
		gtk_clist_append(GTK_CLIST(ma_liste),ligne_);
	}
}


void
initialiser_init_produit               (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	// initialiser textview	
	GtkTextBuffer *buffer;
	GtkTextIter  iter;
	GtkWidget *textview;
	textview = lookup_widget(fenetre,"produit_textview");
	buffer   = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
	gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0);
	

	magasin_db magasin[NMAX];
	int nombre_des_produits = 0;


	extraire_magasin(magasin,&nombre_des_produits);

	// initialisation
    int k;
		
	k = nombre_des_produits-1;
		
	char smsg[50];

	while ( k > -1)
	{
			sprintf(smsg,"Suppression du produit '%s %s'\n",magasin[k].nom_p,magasin[k].type_p);
			supprimer_produit(magasin,magasin[k].id_p,&nombre_des_produits);
			k = nombre_des_produits - 1;
			gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	}
	strcpy(smsg,"Le magasin est vide\n");
	gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	remove(FICHIER_MAGASIN);
}


void
on_btn_supprimer_produit__clicked      (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id;
	GtkWidget *msg_label;

	entry_id=lookup_widget(fenetre,"entry_id_produit");
	msg_label=lookup_widget(fenetre,"label_msg_supp_produit");


	magasin_db magasin[NMAX];
	int nombre_des_produits = 0;

	magasin_db m;
	int id_p2;
	char msg[30];

	id_p2=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));

	extraire_magasin(magasin,&nombre_des_produits);
	supprimer_produit_gtk ( magasin,id_p2,&nombre_des_produits,msg);
	gtk_label_set_text(GTK_LABEL(msg_label),msg);
	exporter_magasin(magasin,nombre_des_produits);
}


void
ajouter_ajout_produit                  (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id;
	GtkWidget *entry_quantite;
	GtkWidget *entry_nom;
	GtkWidget *entry_type;
	GtkWidget *msg_label;

	msg_label=lookup_widget(fenetre,"label_msg_ajouter_produit");
	entry_id=lookup_widget(fenetre,"entry_id_produit");
	entry_quantite=lookup_widget(fenetre,"entry_quantite_produit");
	entry_type=lookup_widget(fenetre,"entry_type_produit");
	entry_nom=lookup_widget(fenetre,"entry_nom_produit");

	magasin_db magasin[NMAX];
	int nombre_des_produit = 0;

	magasin_db m;
	int id_p1;
	int q1;
	char nom_p1[30];
	char type_p1[30];

	id_p1=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));
	q1=atoi(gtk_entry_get_text(GTK_ENTRY(entry_quantite)));
	strcpy(nom_p1,gtk_entry_get_text(GTK_ENTRY(entry_nom)));
	strcpy(type_p1,gtk_entry_get_text(GTK_ENTRY(entry_type)));

	m.id_p=id_p1;
	m.q=q1;
	strcpy(m.nom_p,nom_p1);
	strcpy(m.type_p,type_p1);
	
	extraire_magasin(magasin,&nombre_des_produit);
	ajouter_produit_gtk(magasin,m,&nombre_des_produit);
	exporter_magasin(magasin,nombre_des_produit);
	gtk_label_set_text(GTK_LABEL(msg_label),"Produit ajoute");
}

/*------------------------------------END Gestion Magasin-------------------------------*/

/*------------------------------------DEBUT Gestion Parcours-------------------------------*/

void
on_btn_ajouter_ajouter_capteur_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

	GtkWidget *btn_ajouter_capt;
	GtkWidget *entry_id;
	GtkWidget *entry_description;
	

	entry_id=lookup_widget(fenetre,"entry_nom_capteur");
	entry_description=lookup_widget(fenetre,"entry_desc_capteur");
	

	parcours_db parcours[NMAX];
	int nombre_des_capteurs = 0;

	parcours_db cap;

	char m_id[10];
	char desc[30];

	strcpy(m_id,gtk_entry_get_text(GTK_ENTRY(entry_id)));
	strcpy(desc,gtk_entry_get_text(GTK_ENTRY(entry_description)));

	
	
	strcpy(cap.m_id,m_id);
	strcpy(cap.desc,desc);
	
	extraire_parcours(parcours,&nombre_des_capteurs);
	ajouter_capteur_gtk(parcours,cap,&nombre_des_capteurs);
	exporter_parcours(parcours,nombre_des_capteurs);


}



void
btn_modifier_modifier_capteur
                                        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id;
	GtkWidget *entry_d;
	GtkWidget *msg_label;

	msg_label=lookup_widget(fenetre,"label_msg_modifier_capteur");
	entry_id=lookup_widget(fenetre,"entry_id_modifier_capteur");
	entry_d=lookup_widget(fenetre,"entry_description_modifier_capteur");
	

	parcours_db parcours[NMAX];
	int nombre_des_capteurs = 0;

	parcours_db m;
	
	char id1[10];
	char d[100];
	char msg[50];

	strcpy(id1,gtk_entry_get_text(GTK_ENTRY(entry_id)));
	strcpy(d,gtk_entry_get_text(GTK_ENTRY(entry_d)));
	strcpy(m.m_id,id1);
	strcpy(m.desc,d);
	
	extraire_parcours(parcours,&nombre_des_capteurs);
	modifier_parcours_gtk(parcours,m, id1, nombre_des_capteurs, msg);
	
	gtk_label_set_text(GTK_LABEL(msg_label),msg);

}


void
supprimer_supprimer_capteur      (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id;
	GtkWidget *msg_label;

	entry_id=lookup_widget(fenetre,"entry_id_capteur");
	msg_label=lookup_widget(fenetre,"label_msg_supp_capteur");


	parcours_db parcours[NMAX];
	int nombre_des_capteurs = 0;

	parcours_db m;
	char id_p2[30];
	char msg[30];
	strcpy(id_p2,gtk_entry_get_text(GTK_ENTRY(entry_id)));
	extraire_parcours(parcours,&nombre_des_capteurs);
	supprimer_parcours_gtk ( parcours,id_p2,&nombre_des_capteurs,msg);
	gtk_label_set_text(GTK_LABEL(msg_label),msg);
	exporter_parcours(parcours,nombre_des_capteurs);
}

void
afficher_info_capteur       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *ma_liste;
	GtkWidget *nb_capteur;
	ma_liste = lookup_widget(fenetre,"cliste_capteur");
	nb_capteur = lookup_widget(fenetre,"label_nbre_capteurs");
	
	
	parcours_db m[NMAX];
	int i;
	int nombre_des_capteurs=0;
	char b[20];
	char a[20];
	char nb_capteur_[5];
	
	
	extraire_parcours( m,&nombre_des_capteurs);
	gtk_clist_clear(GTK_CLIST(ma_liste));
	
	// coversion d'un entier a un string
	sprintf(nb_capteur_, "%d", nombre_des_capteurs);
	
	// changer la valeur du nombre des infractions
	gtk_label_set_text(GTK_LABEL(nb_capteur),nb_capteur_);
	
	printf("le nombre : %d",nombre_des_capteurs);
	for ( i = 0; i < nombre_des_capteurs; i++)
	{

		sprintf(a, "%s", m[i].m_id);
		sprintf(b, "%s",  m[i].desc);
		
		gchar *ligne_[2] = {m[i].m_id, m[i].desc};
		
		
		
		
		gtk_clist_append(GTK_CLIST(ma_liste),ligne_);
	}
}

void
initialiser_init_capteur              (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	// initialiser textview	
	GtkTextBuffer *buffer;
	GtkTextIter  iter;
	GtkWidget *textview;
	textview = lookup_widget(fenetre,"capteur_textview");
	buffer   = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
	gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0);
	

	parcours_db parcours[NMAX];
	int nombre_des_capteurs = 0;


	extraire_parcours(parcours,&nombre_des_capteurs);

	// initialisation
    int k;
		
	k = nombre_des_capteurs-1;
		
	char smsg[50];

	while ( k > -1)
	{
			sprintf(smsg,"Suppression du capteur '%s %s'\n",parcours[k].m_id,parcours[k].desc);
			supprimer_capteur(parcours,parcours[k].m_id,&nombre_des_capteurs);
			k = nombre_des_capteurs - 1;
			gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	}
	strcpy(smsg,"La liste des capteurs est vide\n");
	gtk_text_buffer_insert (buffer, &iter,smsg, -1);
	remove(FICHIER_PARCOURS);
}


/*------------------------------------END Gestion Parcours-------------------------------*/

/*------------------------------------BEGIN Fenetre Gestion patient-------------------------------*/
void
on_btn_ajouter_patient_clicked           (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *ajout_patient;
  GtkWidget *fe;

  ajout_patient = create_ajout__patient ();
  gtk_widget_show (ajout_patient);

  fe = lookup_widget(fenetre,"gestion_patient");
  gtk_widget_destroy(fe);
}
void
on_btn_supprimer_patient_clicked       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *supprimer_patient;
  GtkWidget *fe;

  supprimer_patient = create_supprimer_patient ();
  gtk_widget_show (supprimer_patient);

  fe = lookup_widget(fenetre,"gestion_patient");
  gtk_widget_destroy(fe);

}
void
on_btn_modifier_patient_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *modifier_patient;
  GtkWidget *fe;

  modifier_patient = create_modifier_patient ();
  gtk_widget_show (modifier_patient);

  fe = lookup_widget(fenetre,"gestion_patient");
  gtk_widget_destroy(fe);

}
void
on_btn_afficher_patient_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *afficher_patient;
  GtkWidget *fe;

  afficher_patient = create_afficher_patient ();
  gtk_widget_show (afficher_patient);

  fe = lookup_widget(fenetre,"gestion_patient");
  gtk_widget_destroy(fe);

}
void
on_btn_init_patient_clicked            (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *init_patient;
  GtkWidget *fe;

  init_patient = create_init_patient ();
  gtk_widget_show (init_patient);

  fe = lookup_widget(fenetre,"gestion_patient");
  gtk_widget_destroy(fe);
}
void
on_patient_retour_principale_clicked   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"gestion_patient");
  gtk_widget_destroy(fe);
}
/*------------------------------------END Fenetre Gestion patient-------------------------------*/
/*------------------------------------BEGIN Fenetre Gestion capteur-------------------------------*/
void
on_btn_ajouter_capteur_clicked           (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *ajout_capteur;
  GtkWidget *fe;

  ajout_capteur = create_ajout_capteur ();
  gtk_widget_show (ajout_capteur);

  fe = lookup_widget(fenetre,"gestion_capteur");
  gtk_widget_destroy(fe);
}
void
on_btn_supprimer_capteur_clicked       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *supprimer_capteur;
  GtkWidget *fe;

  supprimer_capteur = create_supprimer_capteur ();
  gtk_widget_show (supprimer_capteur);

  fe = lookup_widget(fenetre,"gestion_capteur");
  gtk_widget_destroy(fe);

}
void
on_btn_modifier_capteur_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *modifier_capteur;
  GtkWidget *fe;

  modifier_capteur = create_modifier_capteur ();
  gtk_widget_show (modifier_capteur);

  fe = lookup_widget(fenetre,"gestion_capteur");
  gtk_widget_destroy(fe);

}
void
on_btn_afficher_capteur_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *afficher_capteur;
  GtkWidget *fe;

  afficher_capteur = create_afficher_capteur ();
  gtk_widget_show (afficher_capteur);

  fe = lookup_widget(fenetre,"gestion_capteur");
  gtk_widget_destroy(fe);

}
void
on_btn_init_capteur_clicked            (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *init_capteur;
  GtkWidget *fe;

  init_capteur = create_init_capteur ();
  gtk_widget_show (init_capteur);

  fe = lookup_widget(fenetre,"gestion_capteur");
  gtk_widget_destroy(fe);
}
void
on_capteur_retour_principale_clicked   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_admin;
  GtkWidget *fe;

  menu_admin = create_menu_admin ();
  gtk_widget_show (menu_admin);
  fe = lookup_widget(fenetre,"gestion_capteur");
  gtk_widget_destroy(fe);
}



void
on_btn_inserer_capteur_clicked         (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

}


/*------------------------------------END Fenetre Gestion capteur-------------------------------*/



void
on_retour_ajout_patient_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_patient ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"ajout__patient");
  gtk_widget_destroy(fe);

}


/*------------------------------------Begin Fenetre Gestion Auth-------------------------------*/

void
on_retour_modif_admin_clicked          (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_modifier_selection_admin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"modification_mot_de_passe_admin");
  gtk_widget_destroy(fe);
}


void
on_modifier_modif_admin_clicked        (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id;
	GtkWidget *entry_pass;
	GtkWidget *msg_label;

	msg_label=lookup_widget(fenetre,"label_msg_pass_perso");
	entry_id=lookup_widget(fenetre,"entry_nv_passport");
	entry_pass=lookup_widget(fenetre,"entry_nv_motdepasse");
	
	
	char passeport[10];
	char pass[20];
	char msg[70];

	strcpy(passeport,gtk_entry_get_text(GTK_ENTRY(entry_id)));
	strcpy(pass,gtk_entry_get_text(GTK_ENTRY(entry_pass)));

	modifier_pass_admin_gtk(passeport, pass,msg);
	gtk_label_set_text(GTK_LABEL(msg_label),msg);


//	modifier_pass_admin_gtk(char passeport[], char pass[], char msg[]);
}


void
on_retour_modif_pass_perso_clicked     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
  GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_modifier_selection_admin ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"modification_mot_de_passe_perso");
  gtk_widget_destroy(fe);

}


void
on_modifier_modif_pass_perso_clicked   (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *entry_id;
	GtkWidget *entry_pass;
	GtkWidget *msg_label;

	msg_label=lookup_widget(fenetre,"label_msg_pass_perso");
	entry_id=lookup_widget(fenetre,"entry_modification_id_perso");
	entry_pass=lookup_widget(fenetre,"entry_modification_id_pass");
	
	
	int id;
	char pass[20];
	char msg[70];

	id=atoi(gtk_entry_get_text(GTK_ENTRY(entry_id)));
	strcpy(pass,gtk_entry_get_text(GTK_ENTRY(entry_pass)));
	
	
	personnel_db personnel[NMAX];
	int nbre_personnel;
	
	extraire_personnels(personnel,&nbre_personnel);
	modifier_pass_personnel_gtk(personnel, nbre_personnel, id, pass, msg );
	gtk_label_set_text(GTK_LABEL(msg_label),msg);
}


/*------------------------------------Begin Fenetre Gestion Auth-------------------------------*/


void
on_btn_retour_supp_patient_clicked     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_patient ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"supprimer_patient");
  gtk_widget_destroy(fe);
}


void
on_welcome_clicked                     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	GtkWidget *menu_precedent;
  GtkWidget *fe;
/*
  menu_precedent = create_menu_admin ();
  gtk_widget_show (menu_precedent);
*/
	int x;
	if ( (access(FICHIER_ADMIN,F_OK) != -1))
		x = 1; // le fichier existe
	else
		x = 0; //le fichier n'existe pas
	if ( x == 0)
	{
		  menu_precedent = create_creation_compte ();
  		  gtk_widget_show (menu_precedent);
	}
	else
	{
  		menu_precedent = create_login ();
  		gtk_widget_show (menu_precedent);
	}
  fe = lookup_widget(fenetre,"splash");
  gtk_widget_destroy(fe);
}


void
on_btn_retour_ajouter_capteur_clicked  (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

GtkWidget *menu_precedent;
  GtkWidget *fe;

  menu_precedent = create_gestion_capteur ();
  gtk_widget_show (menu_precedent);
  fe = lookup_widget(fenetre,"ajout_capteur");
  gtk_widget_destroy(fe);
}

